Các đặc tính NTFS

NTFS v3.0 bao gồm vài đặc tính mới so với FAT, đó là: hỗ trợ tập tin rải, cấp hạn ngạch sử dụng ổ đĩa, các điểm phân tích kiểm tra, theo dõi liên kết phân phối, và mã hóa các mức tập tin, cũng còn gọi là Hệ thống tập tin mã hóa (EFS).

Bản ghi số thứ tự cập nhật (USN)

Đây là một đặc tính quản lý hệ thống ghi các thay đổi của tất cả các tập tin, dòng dữ liệu và thư mục trong đĩa, cũng như các đặc tính khác của tập tin, thư mục và các thiết lập bảo mật.Đây là một chức năng quan trọng của NTFS (một tính năng mà FAT/FAT32 không có) để bảo đảm rằng các cấu trúc dữ liệu phức tạp bên trong của nó (đặc biệt là các bitmap cấp cho đĩa, hay di chuyển dữ liệu được thực hiện bởi các API phân mảnh, các sửa đổi những bản ghi MFT như di chuyển một vài biến số các đặc tính chiều dài được lưu trữ trong các bản ghi MFT và danh sách đặc tính, hay cập nhật các ký hiệu bảo mật chung, hoặc để khởi động sector và mirror cục bộ nơi thực hiện USN cuối cùng trên đĩa được lưu trữ) và các chỉ số (cho các thư mục và ký hiệu bảo mật) sẽ còn phù hợp trong mọi trường hợp hệ thống bị hư hỏng, và cho phép dễ dàng hủy các thay đổi không ràng buộc với các cấu trúc dữ liệu quan trọng đó khi ổ đĩa sẽ bị cài đặc lại.Trong các phiên bản mới của Window, bản ghi số thứ tự cập nhật đã mở rộng để truy theo trạng thái của các hoạt động giao tác khác trên các phần khác của hệ thống tập tin NTFS, chẳng hạn như các bản sao bóng VSS của các tập tin hệ thống với các ngữ nghĩa copy-on-write (Copy-on-Write (COW) cho phép tiến trình cha và con dùng chung trang trong bộ nhớ khi mới khởi tạo tiến trình con), hoặc thực hiện các Giao tác NTFS và các hệ thống tập tin phân phối.

Các liên kết cứng và viết tắt tên tập tin

Ban đầu gồm hỗ trợ hệ thống con POSIX trong Windows NT, các liên kết cứng tương tự như các nút thư mục, nhưng được sử dụng cho các tập tin thay vì các thư mục. Các liên kết cứng chỉ có thể được áp dụng cho các tập tin trên cùng một ổ đĩa từ một bản ghi tên tập tin phụ được thêm vào bản ghi MFT của tập tin. Viết ngắn tên tập tin cũng được thực hiện như các bản ghi tên tập tin phụ, nó không có các danh sách thư mục riêng biệt.

Các dòng dữ liệu luân phiên (ADS)

Các dòng dữ liệu luân phiên cho phép nhiều hơn một dòng dữ liệu được liên kết với một tên tập tin, sử dụng định dạng tên tập tin là "filename:streamname" (ví dụ "text.txt:extrastream). Các dòng luân phiên không được liệt kê trong Windows Explorer, và kích thước của chúng không bao gồm cả kích thước của tập tin. Chỉ có dòng chính của một tập tin được duy trì khi nó được sao chép vào một mạng chia sẻ hoặc ổ đĩa USB định dạng FAT, gắn với một e-mail, hay tải lên một website. Do đó, sử dụng các dòng luân phiên cho dữ liệu quan trọng có thể gây ra các vấn đề. Các dòng NTFS được giới thiệu trong Windows NT 3.1, để kích hoạt Các dịch vụ cho Macintosh (SFM) nhằm lưu trữ các nhánh tài nguyên Macintosh. Mặc dù các phiên bản hiện hành của Windows Server không còn gồm SFM, nhưng các sản phẩm Apple Filing Protocol (AFP) của bên thứ ba (như Group Logic's ExtremeZ-IP) vẫn sử dụng tính năng này của hệ thống tập tin.Malware được sử dụng cho các dòng dữ liệu luân phiên nhằm ẩn mã của nó; một số công cụ quét malware và các công cụ đặc biệt khác hiện nay dùng để kiểm tra các dòng luân phiên trong dữ liệu. Microsoft cung cấp một công cụ gọi là Streams cho phép người dùng xem được các dòng trên một ổ được chọn.

ADS rất nhỏ cũng được thêm vào trong chương trình Internet Explorer (và cả các trình duyệt khác hiện nay) để đánh dấu các tập tin đã được tải về từ các trang bên ngoài: chúng có thể không an toàn để chạy cục bộ và tiện ích cục bộ sẽ yêu cầu xác nhận từ người dùng trước khi mở chúng. Khi người dùng không muốn xác nhận yêu cầu này, ADS chỉ đơn giản giảm xuống từ danh mục MFT cho các tập tin được download.

Một số trình ứng dụng media cũng đã cố gắng sử dụng ADS để lưu trữ siêu dữ liệu cho các tập tin media, để tổ chức sắp xếp, mà không sửa đổi nội dung dữ liệu có ích của bản thân các tập tin media (sử dụng các thẻ nhúng khi chúng được hỗ trợ bởi các đinh dạng tập tin media như MPEG và OGG); siêu dữ liệu này có thể được hiển thị trong Windows Explorer như các cột thông tin thêm, với sự giúp đỡ của một thanh ghi đã ghi một Windows Shell mở rộng mà có thể phân tích chúng, nhưng hầu hết các trình ứng dụng media thích sử dụng cơ sở dữ liệu của bản thân thay vì ADS để lưu trữ các thông tin (đặc biệt vì ADS được hiện thị các tập tin này cho tất cả người dùng, thay vì được quản lý với các thiết lập bảo mật riêng biệt cho mỗi người dùng và có các giá trị được xác định theo sở thích người dùng).

Các tập tin thưa

Các tập tin thưa là các tập tin chứa các tập hợp dữ liệu thưa thớt, dữ liệu chủ yếu được làm đầy bằng các số 0. Các ứng dụng cơ sở dữ liệu, đôi khi sử dụng các tập tin thưa. Vì điều này, Microsoft đã triển khai thực hiện hỗ trợ cho việc lưu trữ hiệu quả của các tập tin thưa bằng cách cho phép một ứng dụng chỉ rõ các vùng dữ liệu rỗng (vùng toàn số 0). Một ứng dụng đọc một tập tin thưa theo kiểu bình thướng với hệ thống tập tin tính toán những gì dữ liệu cần phải trả lại dựa trên khoảng trống tập tin. Cũng như với các tập tin nén, kích thước thực tế của các tập tin thưa không được đưa vào bản kê khai khi xác định các giới hạn hạn ngạch.

Tập tin nén

NTFS nén các tập tin bắng cách sử dụng một biến thể của thuật toán LZ77. Mặc dù truy cập đọc-ghi vào các tập tin nén được rõ ràng, Microsoft khuyến cáo tránh nén trên các hệ thống server và/hoặc mạng chia sẻ giữ hồ sơ chuyển vùng vì nó nạp một lượng đáng kể thông tin cần xử lý vào bộ xử lý.

Sao chép bóng ổ đĩa

Dịch vụ sao chép bóng ổ đĩa (Volume Shadow Copy Service - VSS) giữ lại các phiên bản cũ của các tập tin và thư mục trong các ổ đĩa NTFS bằng cách sao chép dữ liệu ghi đè mới, cũ (copy-on-write). Dữ liệu tập tin cũ che dữ liệu mới khi người dùng yêu cầu hoàn nguyên một phiên bản trước đó. Điều này cho phép các chương trình sao lưu dữ liệu lưu trữ các tập tin hiện thời đang được sử dụng bởi hệ thống tập tin. Trên các hệ thống xử lý nhiều, Microsoft khuyến cáo thiếp lập một ổ sao lưu bóng trên một ổ đĩa riêng. Để đảm bảo phục hồi trong trường hợp hệ thống hư hỏng, VSS cũng sử dụng bản ghi USN để đánh dấu các giao tác cục bộ và đảm bảo các thay đổi hệ thống tập tin sẽ được phục hồi hiệu quả sau khi hệ thống khởi động lại khi ổ đĩa NTFS sẽ được cài đặt lại, hoặc giảm xuống an toàn đến một phiên bản cũ nếu phiên bản mới không được ghi đầy đủ trước khi xác nhận thực sự trước lúc đóng tập tin sửa đổi. Tuy nhiên, các bóng VSS này không được phối hợp tổng thể trên nhiều tập tin hay ổ đĩa, trừ khi sử dụng một người phối hợp giao tác. Họ chỉ có thể được sử dụng để đảm bảo răng các phiên bản cũ sẽ vẫn có thể truy cập trong các hoạt động sao lưu, để nhận được hình ảnh hệ thống phù hợp.

Giao tác NTFS

Như với Windows Vista, các ứng dụng có thể sử dụng Giao tác NTFS để thay đổi nhóm các tập tin với nhau trong một giao tác. Giao tác sẽ đảm bảo tất cả thay đổi được diễn ra, hoặc không một ứng dụng nào trong tất cả được chạy, và nó sẽ đảm bảo các ứng dụng bên ngoài giao tác sẽ không nhìn thấy nhưng thay đổi cho đến khi chúng được thỏa hiệp thực hiện chính xác tức thì.Nó sử dụng các kỹ thuật tương tự như được sử dụng cho sao chép bóng ổ đĩa (ví dụ như copy-on-write) để đảm bảo dữ liệu ghi đè một cách an toàn, và các bản ghi UFS đánh dấu các giao tác vẫn chưa được thỏa hiệp, hay những giao tác đã được xác nhận nhưn chưa được áp dụng hoàn toàn (trong trường hợp hệ thống hư hỏng trong một thỏa hiệp bởi một trong những bên tham gia).

Tuy nhiên, trong một hệ thống tập tin cho phép giao tác, điều này có thể được sử dụng tạm thời cho tất cả tập tin khác cần thiết cho bất kỳ loại phân vùng, miễn là giao tác không phải thỏa hiệp, so với các tập tin hệ thống chỉ được đánh dấu cố định và được sửa đổi hoàn toàn trong các giao tác cục bộ ngầm riêng.

Kỹ thuật copy-on-write tuy nhiên được sửa đổi để cho phép hủy giao tác đang có hiệu lực và tránh việc tạo ra các phân đoạn trong hệ thống tập tin được sử dụng bởi nhiều người tham gia: các dữ liệu cũ có thể không được ghi đè ngay lập tức nhưng vẫn được giữ lại (đặc biệt khi nó hiện bị khóa bởi người khác cho phù hợp lần đọc trong các giao tác của nó); trong trường hợp đó, chỉ có những dữ liệu mới là không bị giữ lại trong một bóng tạm thời (chứ không phỉa là dữ liệu cũ copy-on-write), mà cuối cùng được áp dụng bằng cách sử dụng copy-on-write VSS bình thường khi giao tác sẽ được thỏa hiệp bởi việc ghi vào. Ngoài ra, các bóng tạm thời cho các dữ liệu mới, chỉ nhìn thấy bởi các quá trình tham gia có dữ liệu chưa được thỏa hiệp của riêng chúng, không nhất thiết phải ngay lập tức ghi vào đũa, nhưng chỉ có thể được duy trì trong bộ nhớ hoặc đổi chỗ các thỏa hiệp sau. Giao tác NTFS không hạn chế các giao tác để chỉ ổ đĩa NTFS cục bộ, nhưng cũng bao gồm các dữ liệu khác hoặc các hoạt động ở các điểm khác như lưu trữ dữ liệu trong các ổ đĩa riêng biệt, thanh ghi cục bộ, hay các cơ sở dữ liệu SQL, hoặc các trạng thái hiện tại của các dịch vụ hệ thống hay các dịch vụ từ xa.

Các giao tác là mạng rộng được điều phối với tất cả người tham gia bằng cách sử dụng một dịch vụ cụ thể, Distributed Transactions Coordinator (DTC) đảm bảo rằng tất cả người tham gia sẽ nhận được cùng trạng thái thỏa hiệp, và để vận chuyển các thay đổi đã được xác nhận bởi bất kỳ người tham gia nào (người khác có thể làm mất hiệu lực các vùng nhớ đệm cục bộ cho dữ liệu cũ hay hủy giao tác các thay đổi chưa được thỏa hiệp). Giao tác NTFS cho phép tạo ra mạng rộng phù hợp các hệ thống tập tin được phân phối, bao gồm với cả tập tin cục bộ hay trong các bộ nhớ đệm ngoại tuyến.

Hệ thống tập tin mã hóa (EFS - Encrypting File System)

EFS cung cấp khả năng mã hóa mạnh và rõ ràng đối với người dùng cho bất kỳ tập tin hay thư mục nào trên một ổ đĩa NTFS. EFS làm việc chung với dịch vụ EFS, CryptoAPI của Microsoft và Thư viện thực thi hệ thống tập tin EFS (FSRTL). EFS hoạt động bằng cách mã hóa một tập tin với một khóa đối xứng khối (còn được gọi là Khóa mã hóa tập tin hay FEK), khóa này được sử dụng vì nó cần một khoảng thời gian nhỏ tương đối để mã hóa và giải mã số lượng lớn của dữ liệu, hơn là nếu một mã khóa không đối xứng được sử dụng. Khóa đối xứng được sử dụng để mã hóa tập tin sau đó sẽ được mã hóa với một khóa dùng chung, tiếp theo kết hợp với người dùng đã mã hóa tập tin, và dữ liệu được mã hóa này được lưu trữ trong một dòng dữ liệu luân phiên của tập tin được mã hóa. Để giải mã tập tin, hệ thống tập tin sử dụng khóa riêng của người sử dụng để giải mã khóa đối xứng mà được lưu trữ trong phần mào đầu của tập tin. Sau đó sử dụng khóa đối xứng để giải mã tập tin. Vì điều này được thực hiện ở mức độ hệ thống tập tin, nó được minh bạch đối với người sử dụng. Ngoài ra, trong trường hợp một người dùng bị mất quyền truy cập vào chính khóa của mình, các khóa giải mã thêm vào nhằm hỗ trợ cũng được tạo ra trong hệ thống EFS, để một tác nhân khôi phục vẫn có thể truy cập các tập tin nếu cần. Việc nén và mã hóa do NTFS cung cấp loại trừ lẫn nhau - NTFS có thể được sử dụng cho một và công cụ của bên thứ ba dành cho hãng khác.Sự hỗ trợ của EFS không có sẵn trong các phiên bản Basic, Home và MediaCenter của Windows, và nó phải được kích hoạt sau khi cài đặt các phiên bản Professional, Ultimate và Server của Windows hay bằng cách sử dụng các công cụ đặc biệt.

Cấp hạn ngạch

Cấp hạn ngạch cho ổ đĩa được giới thiệu trong NTFS v3. Chúng cho phép người quản trị máy tính chạy một phiên bản của Windows có hỗ trợ NTFS để thiết lập một ngưỡng của không gian ổ đĩa mà những người dùng có thể sử dụng. Nó cũng cho phép những người quản trị duy trì kiểm tra không gian ổ đĩa mà mỗi người dùng đã sử dụng. Một người quản trị có thể chỉ định một mức nhất định của không gian ổ đĩa mà một người dùng có thể sử dụng trước khi họ nhận được một cảnh báo, và sau đó từ chối truy cập đối với người dùng một khi họ đạt tới giới hạn sử dụng không gian ổ đĩa. Cấp hạn ngạch ổ đĩa không dùng cho trương mục tập tin nén minh bạch của NTFS, điều này sẽ được kích hoạt. Các ứng dụng truy vấn dung lượng không gian ổ đĩa trống cũng sẽ thấy dung lượng không gian ổ đĩa còn trông mà người dùng được cấp.

Sự hỗ trợ của cấp hạn ngạch ổ đĩa không có sẵn trong các phiên bản Basic, Home và MediaCenter của Windows, và phải được kích hoạt sau khi cài đặt các phiên bản Professional, Ultimate và Server của Windows hay bằng cách sử dụng các công cụ đặc biệt.

Các điểm phân tích

Tính năng này được giới thiệu trong NTFS v3. Tính năng này được sử dụng kết hợp một thẻ phân tích trong các thuộc tính không gian người dùng của một tập tin hay thư mục. Khi trình quản lý đối tượng phân tích một quá trình tra cứu tên hệ thống tập tin và gặp một thuộc tính phân tích, nó phân tích lại tên tra cứu, truyền dữ liệu phân tích do người dùng điều khiển đến tất cả các trình lọc hệ thống tập tin đã được nạp vào Windows. Mỗi trình điều khiển lọc kiểm tra tương quan của dữ liệu phân tích với điểm phân tích đó, và nếu có, trình điều khiển lọc sẽ xác định so khớp sau đó nó chặn hướng gọi hệ thống tập tin và thực hiện chức năng đặc biệt của nó. Điểm phân tích được sử dụng để thực hiện Các điểm cài ổ đĩa, Liên kết thư mục, Quản lý lưu trữ phân bậc, Lưu trữ cấu trúc tự nhiên, Lưu trữ trường hợp riêng và Các liên kết biểu tượng.